home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / InterLaunch 1.1.2 / src / macppp / pppcontrol.c < prev    next >
Text File  |  1995-06-20  |  2KB  |  70 lines

  1. /*
  2.  *
  3.  * Copyright (c) 1992-1993 Merit Network, Inc. and The Regents of the
  4.  *  University of Michigan.  Usage of this source code is restricted
  5.  *  to non-profit, non-commercial purposes.  The source is provided
  6.  *  "as-is", without warranty.
  7.  */
  8. #include <Appletalk.h>
  9. #include "pppcontrol.h"
  10.  
  11.  
  12.  
  13. /* Returns 1 if up, 0 if not, or -1 if not even inited */
  14.  
  15. pascal short pppup()
  16. {
  17. LapInfo     *lap;
  18.  
  19.    if ( Gestalt((OSType) 'PPP ', (long *) &lap) == noErr)
  20.       if (lap != nil)
  21.          if  (lap->ppp_fsm[IPcp].state == fsmOPENED ) 
  22.             return(1);
  23.          else
  24.              return(0);
  25.    return(-1);
  26. }
  27.  
  28. pascal OSErr pppclose(short hard)
  29. {
  30. LapInfo     *lap;
  31.  
  32.    if ( Gestalt((OSType) 'PPP ', (long *) &lap) == noErr) {
  33.          if (lap && lap->lapClose && lap->transProc) {
  34.                (*(lap->lapClose))(lap);   /* close PPP */
  35.                if (!hard) {
  36.                   lap->ppp_flags |= CLOSE_PPP;
  37.                   (*(lap->transProc))(TransitionOpen);
  38.                }
  39.                return (0);
  40.          } else
  41.             return(1);
  42.    }
  43.    return(-1);
  44. }
  45.  
  46. pascal OSErr pppopen ()
  47. {  
  48. #define ipctlGetAddr    15       /* csCode to get our IP address */
  49.                
  50. CntrlParam tiopb;
  51. LapInfo     *lap;
  52. short    refnum;
  53.  
  54.    if ( Gestalt((OSType) 'PPP ', (long *) &lap) == noErr) {
  55.       if (lap) {
  56.          if (lap->transProc == nil) {
  57.             if (noErr == OpenDriver("\p.IPP",&refnum)) { /* open TCP */
  58.                //bzero((b_8 *)&tiopb, sizeof(tiopb));
  59.                //tiopb.ioCRefNum = refnum;
  60.                //tiopb.csCode = ipctlGetAddr;
  61.                //PBControl((ParamBlockRec *) &tiopb, false);
  62.             }
  63.          } else
  64.             (*(lap->transProc))(TransitionOpen);
  65.          return (0);
  66.       }
  67.    }
  68.    return (-1);
  69. }
  70.